* Step 1: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            active(c()) -> mark(b())
            f(X1,mark(X2),X3) -> mark(f(X1,X2,X3))
            f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3))
            proper(b()) -> ok(b())
            proper(c()) -> ok(c())
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
        - Signature:
            {active/1,f/3,proper/1,top/1} / {b/0,c/0,mark/1,ok/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {active,f,proper,top} and constructors {b,c,mark,ok}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(mark) = {1},
            uargs(ok) = {1},
            uargs(top) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(active) = [1] x1 + [0] 
                 p(b) = [5]          
                 p(c) = [0]          
                 p(f) = [2] x2 + [0] 
              p(mark) = [1] x1 + [0] 
                p(ok) = [1] x1 + [15]
            p(proper) = [1] x1 + [0] 
               p(top) = [1] x1 + [0] 
          
          Following rules are strictly oriented:
          f(ok(X1),ok(X2),ok(X3)) = [2] X2 + [30]  
                                  > [2] X2 + [15]  
                                  = ok(f(X1,X2,X3))
          
                       top(ok(X)) = [1] X + [15]   
                                  > [1] X + [0]    
                                  = top(active(X)) 
          
          
          Following rules are (at-least) weakly oriented:
                active(c()) =  [0]              
                            >= [5]              
                            =  mark(b())        
          
          f(X1,mark(X2),X3) =  [2] X2 + [0]     
                            >= [2] X2 + [0]     
                            =  mark(f(X1,X2,X3))
          
                proper(b()) =  [5]              
                            >= [20]             
                            =  ok(b())          
          
                proper(c()) =  [0]              
                            >= [15]             
                            =  ok(c())          
          
               top(mark(X)) =  [1] X + [0]      
                            >= [1] X + [0]      
                            =  top(proper(X))   
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 2: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            active(c()) -> mark(b())
            f(X1,mark(X2),X3) -> mark(f(X1,X2,X3))
            proper(b()) -> ok(b())
            proper(c()) -> ok(c())
            top(mark(X)) -> top(proper(X))
        - Weak TRS:
            f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3))
            top(ok(X)) -> top(active(X))
        - Signature:
            {active/1,f/3,proper/1,top/1} / {b/0,c/0,mark/1,ok/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {active,f,proper,top} and constructors {b,c,mark,ok}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(mark) = {1},
            uargs(ok) = {1},
            uargs(top) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(active) = [1] x1 + [0]
                 p(b) = [0]         
                 p(c) = [5]         
                 p(f) = [11]        
              p(mark) = [1] x1 + [5]
                p(ok) = [1] x1 + [0]
            p(proper) = [1] x1 + [0]
               p(top) = [1] x1 + [0]
          
          Following rules are strictly oriented:
          top(mark(X)) = [1] X + [5]   
                       > [1] X + [0]   
                       = top(proper(X))
          
          
          Following rules are (at-least) weakly oriented:
                      active(c()) =  [5]              
                                  >= [5]              
                                  =  mark(b())        
          
                f(X1,mark(X2),X3) =  [11]             
                                  >= [16]             
                                  =  mark(f(X1,X2,X3))
          
          f(ok(X1),ok(X2),ok(X3)) =  [11]             
                                  >= [11]             
                                  =  ok(f(X1,X2,X3))  
          
                      proper(b()) =  [0]              
                                  >= [0]              
                                  =  ok(b())          
          
                      proper(c()) =  [5]              
                                  >= [5]              
                                  =  ok(c())          
          
                       top(ok(X)) =  [1] X + [0]      
                                  >= [1] X + [0]      
                                  =  top(active(X))   
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            active(c()) -> mark(b())
            f(X1,mark(X2),X3) -> mark(f(X1,X2,X3))
            proper(b()) -> ok(b())
            proper(c()) -> ok(c())
        - Weak TRS:
            f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3))
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
        - Signature:
            {active/1,f/3,proper/1,top/1} / {b/0,c/0,mark/1,ok/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {active,f,proper,top} and constructors {b,c,mark,ok}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(mark) = {1},
            uargs(ok) = {1},
            uargs(top) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(active) = [1] x1 + [0]
                 p(b) = [0]         
                 p(c) = [0]         
                 p(f) = [0]         
              p(mark) = [1] x1 + [7]
                p(ok) = [1] x1 + [0]
            p(proper) = [1] x1 + [7]
               p(top) = [1] x1 + [0]
          
          Following rules are strictly oriented:
          proper(b()) = [7]    
                      > [0]    
                      = ok(b())
          
          proper(c()) = [7]    
                      > [0]    
                      = ok(c())
          
          
          Following rules are (at-least) weakly oriented:
                      active(c()) =  [0]              
                                  >= [7]              
                                  =  mark(b())        
          
                f(X1,mark(X2),X3) =  [0]              
                                  >= [7]              
                                  =  mark(f(X1,X2,X3))
          
          f(ok(X1),ok(X2),ok(X3)) =  [0]              
                                  >= [0]              
                                  =  ok(f(X1,X2,X3))  
          
                     top(mark(X)) =  [1] X + [7]      
                                  >= [1] X + [7]      
                                  =  top(proper(X))   
          
                       top(ok(X)) =  [1] X + [0]      
                                  >= [1] X + [0]      
                                  =  top(active(X))   
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            active(c()) -> mark(b())
            f(X1,mark(X2),X3) -> mark(f(X1,X2,X3))
        - Weak TRS:
            f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3))
            proper(b()) -> ok(b())
            proper(c()) -> ok(c())
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
        - Signature:
            {active/1,f/3,proper/1,top/1} / {b/0,c/0,mark/1,ok/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {active,f,proper,top} and constructors {b,c,mark,ok}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(mark) = {1},
            uargs(ok) = {1},
            uargs(top) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(active) = [0]                           
                 p(b) = [0]                           
                 p(c) = [0]                           
                 p(f) = [6] x1 + [2] x2 + [1] x3 + [6]
              p(mark) = [1] x1 + [8]                  
                p(ok) = [1] x1 + [2]                  
            p(proper) = [3]                           
               p(top) = [1] x1 + [0]                  
          
          Following rules are strictly oriented:
          f(X1,mark(X2),X3) = [6] X1 + [2] X2 + [1] X3 + [22]
                            > [6] X1 + [2] X2 + [1] X3 + [14]
                            = mark(f(X1,X2,X3))              
          
          
          Following rules are (at-least) weakly oriented:
                      active(c()) =  [0]                            
                                  >= [8]                            
                                  =  mark(b())                      
          
          f(ok(X1),ok(X2),ok(X3)) =  [6] X1 + [2] X2 + [1] X3 + [24]
                                  >= [6] X1 + [2] X2 + [1] X3 + [8] 
                                  =  ok(f(X1,X2,X3))                
          
                      proper(b()) =  [3]                            
                                  >= [2]                            
                                  =  ok(b())                        
          
                      proper(c()) =  [3]                            
                                  >= [2]                            
                                  =  ok(c())                        
          
                     top(mark(X)) =  [1] X + [8]                    
                                  >= [3]                            
                                  =  top(proper(X))                 
          
                       top(ok(X)) =  [1] X + [2]                    
                                  >= [0]                            
                                  =  top(active(X))                 
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 5: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            active(c()) -> mark(b())
        - Weak TRS:
            f(X1,mark(X2),X3) -> mark(f(X1,X2,X3))
            f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3))
            proper(b()) -> ok(b())
            proper(c()) -> ok(c())
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
        - Signature:
            {active/1,f/3,proper/1,top/1} / {b/0,c/0,mark/1,ok/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {active,f,proper,top} and constructors {b,c,mark,ok}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(mark) = {1},
            uargs(ok) = {1},
            uargs(top) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(active) = [1] x1 + [0]
                 p(b) = [0]         
                 p(c) = [1]         
                 p(f) = [0]         
              p(mark) = [1] x1 + [0]
                p(ok) = [1] x1 + [0]
            p(proper) = [1] x1 + [0]
               p(top) = [1] x1 + [0]
          
          Following rules are strictly oriented:
          active(c()) = [1]      
                      > [0]      
                      = mark(b())
          
          
          Following rules are (at-least) weakly oriented:
                f(X1,mark(X2),X3) =  [0]              
                                  >= [0]              
                                  =  mark(f(X1,X2,X3))
          
          f(ok(X1),ok(X2),ok(X3)) =  [0]              
                                  >= [0]              
                                  =  ok(f(X1,X2,X3))  
          
                      proper(b()) =  [0]              
                                  >= [0]              
                                  =  ok(b())          
          
                      proper(c()) =  [1]              
                                  >= [1]              
                                  =  ok(c())          
          
                     top(mark(X)) =  [1] X + [0]      
                                  >= [1] X + [0]      
                                  =  top(proper(X))   
          
                       top(ok(X)) =  [1] X + [0]      
                                  >= [1] X + [0]      
                                  =  top(active(X))   
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 6: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            active(c()) -> mark(b())
            f(X1,mark(X2),X3) -> mark(f(X1,X2,X3))
            f(ok(X1),ok(X2),ok(X3)) -> ok(f(X1,X2,X3))
            proper(b()) -> ok(b())
            proper(c()) -> ok(c())
            top(mark(X)) -> top(proper(X))
            top(ok(X)) -> top(active(X))
        - Signature:
            {active/1,f/3,proper/1,top/1} / {b/0,c/0,mark/1,ok/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {active,f,proper,top} and constructors {b,c,mark,ok}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))